import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTreeWidget, QTreeWidgetItem, QVBoxLayout

app = QApplication(sys.argv)

# 创建主窗口
window = QWidget()

# 创建 QTreeWidget
tree_widget = QTreeWidget()
# 设置列数
tree_widget.setColumnCount(2)
# 设置列标题
tree_widget.setHeaderLabels(['名称', '描述'])

# 创建根节点
root = QTreeWidgetItem(tree_widget, ['根节点', '这是根节点的描述'])

# 创建子节点
child1 = QTreeWidgetItem(root, ['子节点 1', '这是子节点 1 的描述'])
child2 = QTreeWidgetItem(root, ['子节点 2', '这是子节点 2 的描述'])

# 为子节点 1 创建子子节点
sub_child1 = QTreeWidgetItem(child1, ['子子节点 1', '这是子子节点 1 的描述'])

# 展开根节点
root.setExpanded(True)

# 创建布局并添加 QTreeWidget
layout = QVBoxLayout()
layout.addWidget(tree_widget)

# 将布局设置给主窗口
window.setLayout(layout)

# 显示窗口
window.show()

# 进入应用程序的主循环
sys.exit(app.exec_())
